v-if和v-for这两个指令谁的优先级高

标签:2024-05-18 19:52:15

在vue2中,v-for的优先级高于v-if;

在vue3中,v-if的优先级高于v-for。

在vue中,永远不要把v-if和v-for同时用在同一个元素上,会带来性能方面的浪费(每次渲染都会先循环再进行条件判断);想要避免出现这种情况,可在外层嵌套template(页面渲染不生成dom节点),在这一层进行v-if判断,然后在内部进行v-for循环。

如果v-if依赖于v-for中的某一个数据,可以用computed计算属性和filter来实现。

 <div v-for="item in tempList" :key="item.id">
     <span>{{ item.id }}</span>
     <span>{{ item.name }}</span>
 </div>

 data() {
      return {
        list: [{
                id: 1,
                name:'张三',
                status: '1'
            },
            {
                id: 2,
                name:'李四',
                status: '0'
            }],
        flag: true
      }
    },
    computed: {
        tempList: function() {
            return this.list.filter((item, index)=> {
                return item.status === '1';
            })
        }

    }
原文出处:http://www.dongblog.com/notes/83.html
来源:博客网 转载请注明出处!

活跃用户

倾夏.
Ta还没有签名
蓝颜、Memoriesゞ℡
Ta还没有签名
?
Ta还没有签名
xingxinla
Ta还没有签名

友情链接


Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093

Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093